<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>手把手开发一个完整即时通讯APP</title>
</head>
<body>
<div class="learn-course-list">

    <div class="list-item">
        <h3>
            第1章 课程项目整体概述
        </h3>
        <ul>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3679">
                    1-1 课程概述 (13:21) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3660">
                    1-2 入门须知 (12:24) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3512">
                    1-3 IM四大协议 (06:38) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3513">
                    1-4 实现方案与选型 (06:56) </a>


                <i class="sz-full iright pink"></i>
            </li>
        </ul>
    </div>
    <div class="list-item">
        <h3>
            第2章 推送和存储平台准备
        </h3>
        <ul>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3514">
                    2-1 第三方平台对比选型及注意事项 (09:18) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3515">
                    2-2 推送平台相关配置工作 (03:56) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3516">
                    2-3 OSS存储相关配置工作 (10:06) </a>


                <i class="sz-full iright pink"></i>
            </li>
        </ul>
    </div>
    <div class="list-item">
        <h3>
            第3章 项目前后端项目搭建与准备
        </h3>
        <ul>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3520">
                    3-1 服务器端代码导入与介绍 (28:42) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3521">
                    3-2 新建项目与数据库配置 (21:58) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3522">
                    3-3 完成第一个Restful接口 (17:59) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3523">
                    3-4 客户端代码介绍与导入指南 (15:19) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3569">
                    3-5 客户端封装Activity和Fragment-1 (24:17) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3570">
                    3-6 客户端封装Activity和Fragment-2 (17:49) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3571">
                    3-7 客户端封装Recycler-1 (27:28) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3572">
                    3-8 客户端封装Recycler-2 (24:54) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3573">
                    3-9 初次体验MVP模式开发 (24:26) </a>


                <i class="sz-full iright pink"></i>
            </li>
        </ul>
    </div>
    <div class="list-item">
        <h3>
            第4章 客户端基础模块封装
        </h3>
        <ul>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17475">
                    4-1 主界面搭建外层封装-1 (14:34) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17478">
                    4-2 主界面搭建外层封装-2 (17:03) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17480">
                    4-3 主界面搭建外层封装-3 (16:00) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17482">
                    4-4 主界面搭建外层封装-4 (13:06) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17484">
                    4-5 主界面搭建外层封装-5 (14:29) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17486">
                    4-6 主界面底部导航栏封装-1 (16:30) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17488">
                    4-7 主界面底部导航栏封装-2 (13:28) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17490">
                    4-8 主界面底部导航栏封装-3 (12:55) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17492">
                    4-9 主界面底部导航栏封装-4 (18:45) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17494">
                    4-10 主界面底部导航栏封装-5 (18:05) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17496">
                    4-11 主界面底部导航栏封装-6 (26:32) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17498">
                    4-12 图片选择器功能实现-1 (22:44) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17501">
                    4-13 图片选择器功能实现-2 (28:13) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17503">
                    4-14 图片选择器功能实现-3 (20:24) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17505">
                    4-15 图片选择器功能实现-4 (16:39) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17507">
                    4-16 图片剪切功能实现-1 (15:09) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17509">
                    4-17 图片剪切功能实现-2 (12:22) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17511">
                    4-18 图片剪切功能实现-3 (11:49) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17513">
                    4-19 图片剪切功能实现-4 (13:56) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17514">
                    4-20 图片剪切功能实现-5 (12:15) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17516">
                    4-21 图片上传功能实现-1 (16:46) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17518">
                    4-22 图片上传功能实现-2 (16:04) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17520">
                    4-23 图片上传功能实现-3 (13:26) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17523">
                    4-24 图片上传功能实现-4 (10:42) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17524">
                    4-25 图片上传功能实现-5 (11:08) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17526">
                    4-26 图片上传功能实现-6 (11:05) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17528">
                    4-27 图片上传功能实现-7 (13:49) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17530">
                    4-28 图片上传功能实现-8 (22:27) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17532">
                    4-29 图片上传功能实现-9 (10:57) </a>


                <i class="sz-empty iright"></i>
            </li>
        </ul>
    </div>
    <div class="list-item">
        <h3>
            第5章 项目数据库模型设计
        </h3>
        <ul>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3632">
                    5-1 用户信息模型设计 (21:59) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3633">
                    5-2 人与人的关系设计-1 (12:57) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3634">
                    5-3 人与人的关系设计-2 (15:07) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3676">
                    5-4 消息的模型设计 (10:37) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3677">
                    5-5 用户和消息的关系 (13:17) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3657">
                    5-6 群组模型设计 (05:59) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3924">
                    5-7 用户-群组-消息的关系设计 (19:29) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3659">
                    5-8 消息历史与申请表设计 (26:32) </a>


                <i class="sz-full iright pink"></i>
            </li>
        </ul>
    </div>
    <div class="list-item">
        <h3>
            第6章 用户模块的开发
        </h3>
        <ul>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17637">
                    6-1 后台注册接口编写-1 (11:27) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17638">
                    6-2 后台注册接口编写-2 (13:08) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17639">
                    6-3 后台注册接口编写-3 (17:11) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17640">
                    6-4 后台注册接口编写-4 (18:15) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17641">
                    6-5 后台登录接口编写-1 (16:54) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17642">
                    6-6 后台登录接口编写-2 (16:49) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17643">
                    6-7 后台登录接口编写-3 (08:31) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17644">
                    6-8 后台登录接口编写-4 (16:46) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17645">
                    6-9 后台登录接口编写-5 (12:49) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17646">
                    6-10 后台更新用户信息接口编写-1 (21:04) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17647">
                    6-11 后台更新用户信息接口编写-2 (22:50) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17648">
                    6-12 客户端注册功能实现-1 (11:59) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17649">
                    6-13 客户端注册功能实现-2 (16:57) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17650">
                    6-14 客户端注册功能实现-3 (17:31) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17651">
                    6-15 客户端注册功能实现-4 (14:24) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17652">
                    6-16 客户端注册功能实现-5 (14:04) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17653">
                    6-17 客户端注册功能实现-6 (26:30) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17654">
                    6-18 客户端注册功能实现-7 (13:16) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17655">
                    6-19 客户端注册功能实现-8 (11:57) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17656">
                    6-20 客户端注册功能实现-9 (24:38) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17657">
                    6-21 客户端注册功能实现-10 (16:19) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17658">
                    6-22 客户端登录功能实现-1 (16:46) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17659">
                    6-23 客户端登录功能实现-2 (18:09) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17660">
                    6-24 客户端登录功能实现-3 (14:23) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17661">
                    6-25 客户端登录功能实现-4 (11:54) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17662">
                    6-26 客户端登录功能实现-5 (16:09) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17663">
                    6-27 客户端登录功能实现-6 (15:39) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17664">
                    6-28 客户端登录功能实现-7 (19:24) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17665">
                    6-29 客户端登录功能实现-8 (18:50) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17666">
                    6-30 客户端用户信息完善功能实现-1 (14:26) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17667">
                    6-31 客户端用户信息完善功能实现-2 (10:32) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17668">
                    6-32 客户端用户信息完善功能实现-3 (10:02) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17669">
                    6-33 客户端用户信息完善功能实现-4 (15:01) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17670">
                    6-34 客户端用户信息完善功能实现-5 (14:27) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17671">
                    6-35 客户端用户信息完善功能实现-6 (08:01) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=17672">
                    6-36 客户端用户信息完善功能实现-7 (11:16) </a>


                <i class="sz-empty iright"></i>
            </li>
        </ul>
    </div>
    <div class="list-item">
        <h3>
            第7章 好友新增与管理功能实现
        </h3>
        <ul>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3850">
                    7-1 服务器联系人和关注人接口实现-1 (10:25) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3851">
                    7-2 服务器联系人和关注人接口实现-2 (09:38) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3852">
                    7-3 服务器联系人和关注人接口实现-1 (10:22) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3853">
                    7-4 服务器联系人和关注人接口实现-2 (08:40) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3747">
                    7-5 服务器搜索人和用户信息接口实现-1 (19:36) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3748">
                    7-6 服务器搜索人和用户信息接口实现-2 (14:36) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3749">
                    7-7 客户端实现搜索人功能-1 (19:16) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3750">
                    7-8 客户端实现搜索人功能-2 (15:57) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3788">
                    7-9 客户端实现搜索人功能-1 (17:37) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3903">
                    7-10 客户端实现搜索人功能-2 (18:03) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3751">
                    7-11 客户端实现搜索人功能 (15:58) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3846">
                    7-12 客户端实现添加联系人功能 (22:59) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3925">
                    7-13 客户端实现联系人列表功能 (30:11) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3785">
                    7-14 客户端实现联系人列表功能 (24:09) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3898">
                    7-15 客户端实现联系人列表功能-1 (15:11) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3899">
                    7-16 客户端实现联系人列表功能-2 (15:05) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3787">
                    7-17 客户端实现联系人列表功能-3 (18:34) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3848">
                    7-18 客户端实现个人信息界面-1 (16:06) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3849">
                    7-19 客户端实现个人信息界面-2 (31:29) </a>


                <i class="sz-full iright pink"></i>
            </li>
        </ul>
    </div>
    <div class="list-item">
        <h3>
            第8章 客户端数据操作难点与解决方案
        </h3>
        <ul>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3678">
                    8-1 浅析数据流封装的难点与必要性 (19:34) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3697">
                    8-2 客户端数据流封装-统一的写入-1 (11:03) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3696">
                    8-3 客户端数据流封装-统一的写入-2 (08:32) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3680">
                    8-4 客户端数据流封装-统一的写入-3 (17:53) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3681">
                    8-5 客户端数据流封装-统一的写入-1 (13:04) </a>


                <i class="sz-empty iright pink"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3682">
                    8-6 客户端数据流封装-统一的写入-2 (12:19) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3683">
                    8-7 客户端数据流封装-统一通知-1 (15:24) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3684">
                    8-8 客户端数据流封装-统一通知-2 (14:36) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3685">
                    8-9 客户端数据流封装-统一通知-1 (12:37) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3686">
                    8-10 客户端数据流封装-统一通知-2 (12:13) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3687">
                    8-11 客户端数据流封装-统一通知-1 (19:57) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3688">
                    8-12 客户端数据流封装-统一通知-2 (21:30) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3689">
                    8-13 客户端数据流封装 -统一通知-1 (15:53) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3690">
                    8-14 客户端数据流封装- 统一通知-2 (15:57) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4049">
                    8-15 -客户端数据流封装-统一通知-1 (19:27) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4050">
                    8-16 -客户端数据流封装-统一通知-2 (19:31) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3694">
                    8-17 数据流封装-推送消息处理-1 (21:23) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3695">
                    8-18 数据流封装-推送消息处理-2 (18:43) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=3693">
                    8-19 数据流封装-推送消息处理 (14:13) </a>


                <i class="sz-empty iright"></i>
            </li>
        </ul>
    </div>
    <div class="list-item">
        <h3>
            第9章 聊天之单聊功能开发
        </h3>
        <ul>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4103">
                    9-1 服务器新增消息发送接口-1 (18:20) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4104">
                    9-2 服务器新增消息发送接口-2 (15:44) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4105">
                    9-3 服务器新增消息发送接口-推送测试 (06:59) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4106">
                    9-4 服务器新增消息发送接口-添加接口-1 (14:03) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4107">
                    9-5 服务器新增消息发送接口-添加接口-2 (14:42) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4111">
                    9-6 服务器对消息推送与未读消息的封装-1 (16:55) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4113">
                    9-7 服务器对消息推送与未读消息的封装-2 (21:32) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4114">
                    9-8 手机端聊天布局实现-1 (10:42) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4115">
                    9-9 手机端聊天布局实现-2 (09:11) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4116">
                    9-10 手机端聊天布局实现-1 (08:15) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4117">
                    9-11 手机端聊天布局实现-2 (08:21) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4118">
                    9-12 手机端聊天布局实现-3 (14:07) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4119">
                    9-13 手机端聊天布局实现-4 (14:30) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4120">
                    9-14 手机端聊天布局实现-5 (14:12) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4121">
                    9-15 客户端独立Cell模块实现-1 (13:20) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4122">
                    9-16 客户端独立Cell模块实现-2 (13:36) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4123">
                    9-17 客户端独立Cell模块实现-3 (12:01) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4124">
                    9-18 客户端独立Cell模块实现-4 (11:54) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4125">
                    9-19 客户端发送消息功能实现-1 (11:55) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4126">
                    9-20 客户端发送消息功能实现-2 (11:58) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4127">
                    9-21 客户端发送消息功能实现-3 (10:41) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4128">
                    9-22 客户端发送消息功能实现-4 (10:37) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4129">
                    9-23 客户端发送消息功能实现-5 (14:53) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4130">
                    9-24 客户端发送消息功能实现-6 (11:13) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4131">
                    9-25 客户端发送消息功能实现-7 (12:50) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4132">
                    9-26 客户端发送消息功能实现-8 (13:14) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4133">
                    9-27 客户端本地最近会话功能实现-1 (10:15) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4134">
                    9-28 客户端本地最近会话功能实现-2 (10:10) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4135">
                    9-29 客户端本地最近会话功能实现-3 (15:21) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4136">
                    9-30 客户端本地最近会话功能实现-4 (15:30) </a>


                <i class="sz-empty iright"></i>
            </li>
        </ul>
    </div>
    <div class="list-item">
        <h3>
            第10章 群组聊天之准备事项
        </h3>
        <ul>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4361">
                    10-1 服务器群组相关接口引入与介绍-1 (13:47) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4363">
                    10-2 服务器群组相关接口引入与介绍-2 (16:05) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4366">
                    10-3 实现群组主要接口-新增群-1 (15:05) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4369">
                    10-4 实现群组主要接口-新增群-2 (16:00) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4371">
                    10-5 实现群组主要接口-搜索、列表、群信息-1 (08:09) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4374">
                    10-6 实现群组主要接口-搜索、列表、群信息-2 (10:07) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4378">
                    10-7 实现拉取群成员和新增群成员的接口-1 (14:01) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4379">
                    10-8 实现拉取群成员和新增群成员的接口-2 (14:53) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4380">
                    10-9 完善服务器推送的模块-1 (14:09) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4385">
                    10-10 完善服务器推送的模块-2 (15:36) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4393">
                    10-11 手机端创建群界面实现-界面布局-1 (13:58) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4397">
                    10-12 手机端创建群界面实现-界面布局-2 (13:23) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4456">
                    10-13 手机端创建群界面实现-加载可选人-1 (09:39) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4398">
                    10-14 手机端创建群界面实现-加载可选人-2 (08:30) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4399">
                    10-15 手机端创建群界面实现-完善新建逻辑-1 (13:36) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4438">
                    10-16 手机端创建群界面实现-完善新建逻辑-2 (13:49) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4400">
                    10-17 手机端搜索群功能实现-1 (08:57) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4401">
                    10-18 手机端搜索群功能实现-2 (11:11) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4407">
                    10-19 手机端我的群组功能实现-主体流程-1 (15:00) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4410">
                    10-20 手机端我的群组功能实现-主体流程-2 (15:28) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4412">
                    10-21 手机端我的群组功能实现-群成员信息-1 (06:47) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4416">
                    10-22 手机端我的群组功能实现-群成员信息-2 (14:09) </a>


                <i class="sz-empty iright"></i>
            </li>
        </ul>
    </div>
    <div class="list-item">
        <h3>
            第11章 群组聊天之发送消息
        </h3>
        <ul>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4632">
                    11-1 群组与个人聊天界面复用性调整-1 (18:05) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4633">
                    11-2 群组与个人聊天界面复用性调整-2 (12:15) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4634">
                    11-3 完善群组聊天的所有逻辑-完善界面-1 (16:26) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4635">
                    11-4 完善群组聊天的所有逻辑-完善界面-2 (16:35) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4636">
                    11-5 完善群组聊天的所有逻辑-完善逻辑 (09:19) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4637">
                    11-6 群组成员列表界面完成-1 (11:58) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4638">
                    11-7 群组成员列表界面完成-2 (13:10) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4639">
                    11-8 聊天界面底部面板显示切换功能实现-1 (16:09) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4640">
                    11-9 聊天界面底部面板显示切换功能实现-2 (12:11) </a>


                <i class="sz-empty iright"></i>
            </li>
        </ul>
    </div>
    <div class="list-item">
        <h3>
            第12章 聊天扩展之发送表情
        </h3>
        <ul>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4734">
                    12-1 表情解决方案与项目资源导入 (11:01) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4735">
                    12-2 表情盘基础界面组件搭建-1 (15:10) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4736">
                    12-3 表情盘基础界面组件搭建-2 (14:21) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4737">
                    12-4 表情盘布局及表情资源解析显示-1 (15:03) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4738">
                    12-5 表情盘布局及表情资源解析显示-2 (15:21) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4739">
                    12-6 表情盘布局及表情资源解析显示 (16:32) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4740">
                    12-7 表情解析并显示的解决方案-1 (11:49) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4741">
                    12-8 表情解析并显示的解决方案-2 (11:14) </a>


                <i class="sz-empty iright"></i>
            </li>
        </ul>
    </div>
    <div class="list-item">
        <h3>
            第13章 聊天扩展之发送图片
        </h3>
        <ul>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4662">
                    13-1 图片面板及聊天界面Cell完成-1 (10:26) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4663">
                    13-2 图片面板及聊天界面Cell完成-2 (09:05) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4664">
                    13-3 图片上传服务器与图片压缩实现-1 (12:16) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4665">
                    13-4 图片上传服务器与图片压缩实现-2 (10:44) </a>


                <i class="sz-empty iright"></i>
            </li>
        </ul>
    </div>
    <div class="list-item">
        <h3>
            第14章 聊天扩展之语音聊天
        </h3>
        <ul>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4787">
                    14-1 语音录制的介绍及面板的实现 (17:41) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4788">
                    14-2 语音聊天发送与列表显示实现 (16:20) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4789">
                    14-3 语音下载与播放的调度实现-1 (10:57) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4790">
                    14-4 语音下载与播放的调度实现-2 (11:17) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4791">
                    14-5 语音下载与播放的调度实现 (17:46) </a>


                <i class="sz-empty iright"></i>
            </li>
        </ul>
    </div>
    <div class="list-item">
        <h3>
            第15章 慕聊IM项目总结
        </h3>
        <ul>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4792">
                    15-1 项目相关知识点总结 (14:19) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4793">
                    15-2 项目完善与展望-1 (11:55) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/100.html#mid=4794">
                    15-3 项目完善与展望-2 (12:13) </a>


                <i class="sz-empty iright"></i>
            </li>
        </ul>
    </div>

    <div class="chapter-update-state clearfix">
        <i class="imv2-check"></i>
        <span>本课程已完结</span>
    </div>
</div>
</body>
</html>